Classes utilitárias versus métodos estáticos


Quando precisamos criar classes que não possuem atributos de instância, ou seja, do objeto, como classes utilitárias de validação, é comum implementar seus métodos como estáticos. Dessa forma, para utilizar esses métodos em outras classes, não é necessário instanciar a classe com new NomeDaClasse(),  bastando chamá-los diretamente, por exemplo: Validador.validarEmail(...).


No próximo artigo estamos disponibilizando a classe Leitura que terá como objetivo implementar a leitura dos tipos de dados. Nesta classe você verá que todos os métodos são estáticos. Isto significa que para utilizar esta classe não é necessário realizar criação do objeto com: Leitura leitura = new Leitura(). 


No entanto, não são todas as classes que possuem está caracterísitca. Classes que irão representar atributos de objeto como classes: Carro, Pessoa, Usuario, precisam ser classes que possuem atributos que não sejam estáticos. Pois desejamos que cada objeto (instância da classe), mantenha os seus atributos isolados uns dos outros. Para estes casos, os atributos (variáveis) serão não estáticos, ou seja, não terá a palavra static atrás do tipo de dados como o exemplo abaixo.